package com.qny.ai.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.qny.ai.dto.chat.CreateConversationRequest;
import com.qny.ai.dto.chat.SendMessageRequest;
import com.qny.ai.dto.conversation.ConversationWithRoleDTO;
import com.qny.ai.entity.Conversation;
import com.qny.ai.entity.Message;

public interface ConversationService {
    Long createConversation(CreateConversationRequest request);
    boolean endConversation(Long conversationId);
    Long sendUserMessage(SendMessageRequest request);
    Page<Message> listMessages(Long conversationId, int pageNo, int pageSize);
    Conversation getById(Long id);
    Page<Conversation> listConversations(Long userId, Long roleId, Integer active, int pageNo, int pageSize);
    Page<ConversationWithRoleDTO> listConversationsWithRole(Long userId, Long roleId, Integer active, int pageNo, int pageSize);
    boolean deleteConversation(Long conversationId, Long userId);
}


